home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softdisk Supreme
/
Softdisk Supreme.iso
/
pc
/
DSK Files
/
0-49
/
SD024b.dsk
/
MENU.bas
< prev
next >
Wrap
BASIC Source File
|
2003-06-12
|
7KB
|
146 lines
1000 REM PROGRAM:HARVEST MENU
1010 PRINT CHR$(4)"BLOADMENU.SCROLL"
1015 TEXT : FLASH : HTAB 8: PRINT "PRESS SPACE BAR FOR MENU";: GET K$: PRINT K$: NORMAL
1020 DIM SC%(2):SC%(1) = 834:SC%(0) = -912:IN = 896
1030 DIM P$(100),C$(100),T$(100),M$(200):TP = 34:BOT = 35
1040 TEXT : HOME : SPEED= 255
1050 V = 12:SC = 0
1060 RS = 0:AS = 0
1070 GOSUB 40000
1080 POKE TP,4: POKE BOT,18
1090 FOR CT = 0 TO 100: READ P$(CT): READ C$(CT): READ T$(CT): IF P$(CT) < >"END" THEN NEXT
1100 P$(CT) = ""
1110 CT = CT -1
1120 GOSUB 37000
1130 GOSUB 34000
1140 ON SC +1 GOSUB 36000,35000
1150 AS = 1
10000 INVERSE :VP = V:A$ = P$(P): GOSUB 30000: NORMAL
10010 GOSUB 38000
10020 GOSUB 30000
10030 IF KB = 32 THEN GOSUB 41000: GOSUB 49000: GOSUB 34000:KB = 0
10040 IF KB = 13 THEN GOSUB 45000:KB = 0
10050 IF KB = 8 THEN V$ = " ABOUT ": GOSUB 32000:KB = 0
10060 IF KB = 21 THEN V$ = " ABOUT ": GOSUB 33000:KB = 0
10070 IF KB = 27 THEN GOSUB 19000
10080 IF KB THEN SC = NOT SC: ON SC +1 GOSUB 36000,35000
10090 GOTO 10000
18999 REM <CTRL-J>CLOSING SCREEN<CTRL-J>
19000 TEXT : HOME : PRINT : PRINT "<CTRL-D>RUNHELLO"
19999 REM <CTRL-J>BUMP<CTRL-J>
20000 SK = 49200: FOR SJ = 1 TO 4: FOR SH = SJ TO 5:SG = PEEK(SK) - PEEK(SK) + PEEK(SK): NEXT SH,SJ
20010 BC = BC +1: IF BC >2 THEN SC = NOT SC: ON SC +1 GOSUB 36000,35000
20090 RETURN
29998 END
29999 REM <CTRL-J>HOR CENTER @ VP<CTRL-J>
30000 VTAB VP: HTAB 20 - LEN(A$)/2: PRINT A$;: RETURN
30999 REM <CTRL-J>LINE OF -<CTRL-J>
31000 FOR A = 1 TO 40: PRINT "-";: NEXT : RETURN
31999 REM <CTRL-J>RUN SELECTED<CTRL-J>
32000 RS = 1: VTAB 3: HTAB 2: INVERSE : PRINT " RUN ";: HTAB 32: NORMAL : PRINT V$;: HTAB 8: PRINT "<==";: HTAB 28: PRINT " ";:AS = 0: RETURN
32999 REM <CTRL-J>ABOUT SELECTED<CTRL-J>
33000 AS = 1: VTAB 3: HTAB 32: INVERSE : PRINT V$;: HTAB 2: NORMAL : PRINT " RUN ";: HTAB 28: PRINT "==>";: HTAB 8: PRINT " ";:RS = 0: RETURN
33999 REM <CTRL-J>CATEGORY<CTRL-J>
34000 VP = 3:A$ = T$(P): GOSUB 30000: RETURN
34999 REM <CTRL-J>SCROLL DOWN SELECTED<CTRL-J>
35000 VTAB 21: HTAB 37: PRINT "/!\";: VTAB 23: HTAB 37: PRINT " ! ";: RETURN
35999 REM <CTRL-J>SCROLL UP SELECTED<CTRL-J>
36000 VTAB 21: HTAB 37: PRINT " ! ";: VTAB 23: HTAB 37: PRINT "\!/";: RETURN
36999 REM <CTRL-J>INITIALIZE SCROLL SCN<CTRL-J>
37000 B = 3: FOR A = P +1 TO P +7:VP = (B) *2:A$ = P$(A): GOSUB 30000:B = B +1: NEXT :P = 4: RETURN
37999 REM <CTRL-J>KET KEYPRESS<CTRL-J>
38000 KB = PEEK(49152): IF KB >127 THEN KB = KB -128: POKE 49168,0: GOTO 38020
38010 GOTO 38000
38020 RETURN
39999 REM <CTRL-J>DRAW FULL SCREEN<CTRL-J>
40000 HOME :V$ = " ABOUT "
40010 A$ = "OCT 83 SOFTDISK HARVEST":VP = 1: GOSUB 30000
40020 GOSUB 33000
40030 HTAB 1: VTAB 4: GOSUB 31000
40040 HTAB 1: VTAB 19: GOSUB 31000
40050 PRINT "ARROWS SELECT RUN/ABOUT"
40060 PRINT "SPACE BAR SCROLLS"
40070 PRINT "ANY KEY REVERSES SCROLL DIRECTION"
40080 PRINT "<RETURN> GROKS HIGHLIGHTED ITEMS"
40090 PRINT "<ESC> TO ESCAPE";
40100 VTAB 20: HTAB 38: PRINT ".": FOR A = 21 TO 23: VTAB A: HTAB 38: PRINT "!": NEXT : VTAB 24: HTAB 38: PRINT "'";
40110 VTAB V
40120 RETURN
40999 REM <CTRL-J>SCROLLING<CTRL-J>
41000 ON SC +1 GOSUB 42000,43000
41090 RETURN
41999 REM <CTRL-J>SCROLL UP<CTRL-J>
42000 IF P > = CT THEN GOSUB 20000: GOTO 42090
42010 GOSUB 44100
42020 GOSUB 44000
42030 P = P +1:BC = 0
42040 VP = 18:A$ = P$(P +3): GOSUB 30000
42090 RETURN
42999 REM <CTRL-J>SCROLL DOWN<CTRL-J>
43000 IF P < = 4 THEN GOSUB 20000: GOTO 43090
43010 GOSUB 44100
43020 GOSUB 44000
43030 P = P -1:BC = 0
43040 VP = 6:A$ = P$(P -3): GOSUB 30000
43090 RETURN
43999 REM <CTRL-J>DO SCROLL<CTRL-J>
44000 CALL SC%(SC): CALL SC%(SC)
44090 RETURN
44099 REM <CTRL-J>BLANK INVERSE P$<CTRL-J>
44100 VP = V:A$ = P$(P): GOSUB 30000: RETURN
44999 REM <CTRL-J>EXECUTIVE<CTRL-J>
45000 IF AS THEN GOSUB 46000
45010 IF RS THEN GOSUB 47000
45020 RETURN
45999 REM <CTRL-J>READ T.FILE<CTRL-J>
46000 HOME : PRINT
46010 ONERR GOTO 46060
46020 PRINT CHR$(4)"OPEN ABOUT."P$(P)
46030 PRINT CHR$(4)"READ ABOUT."P$(P)
46040 FOR A = 0 TO 200: CALL IN,M$(A): IF M$(A) < >"!" THEN NEXT
46060 CM = A -1: POKE 216,0: IF NOT CM THEN CM = 199
46070 PRINT : PRINT CHR$(4)"CLOSE"
46080 GOSUB 48000: ONERR GOTO 46100
46090 PS = P:P = P -4: TEXT :V$ = " ABOUT ": GOSUB 40000: POKE TP,4: POKE BOT,18: GOSUB 37000:P = PS: ON SC +1 GOSUB 36000,35000: GOSUB 49000: GOSUB 34000: RETURN
46100 RUN 1020
46999 REM <CTRL-J>RUN IT<CTRL-J>
47000 HOME : VTAB V: PRINT C$(P): TEXT : PRINT CHR$(4);C$(P)
47999 REM <CTRL-J>ABOUT.TEXT<CTRL-J>
48000 VTAB 3: HTAB 1: PRINT SPC( 27);: HTAB 12: PRINT LEFT$(P$(P),15);:V$ = " MENU ": GOSUB 33000
48010 VTAB 20: HTAB 19: PRINT V$;: VTAB 24: HTAB 1: PRINT "PRESS H FOR HARDCOPY";
48020 HOME : FOR ZC = 0 TO 12: PRINT M$(ZC): NEXT : PRINT M$(ZC);
48030 GOSUB 38000
48040 IF KB = 32 THEN GOSUB 48100: GOSUB 48100:KB = 0
48042 IF KB = 8 THEN GOSUB 32000:KB = 0
48044 IF KB = 21 THEN GOSUB 33000:KB = 0
48050 IF KB = 13 THEN KB = 0: ON RS GOSUB 47000: GOTO 48090
48055 IF KB = 72 THEN GOSUB 48400:KB = 0: GOTO 48020
48060 IF KB THEN SC = NOT SC: ON SC +1 GOSUB 36000,35000
48070 GOTO 48030
48090 RETURN
48100 IF SC THEN IF ZC >12 THEN CALL SC%(1): VTAB 5: HTAB 1:ZC = ZC -1:BC = 0: IF ZC >12 THEN PRINT M$(ZC -13);: GOTO 48130
48110 IF NOT SC THEN IF ZC <CM THEN CALL SC%(0): VTAB 18:ZC = ZC +1:BC = 0: HTAB 1: PRINT M$(ZC);: GOTO 48130
48120 GOSUB 20000
48130 RETURN
48399 REM <CTRL-J>HARDCOPY<CTRL-J>
48400 HOME : PRINT TAB( 16);"HARDCOPY": PRINT "TURN ON THE PRINTER AND PRESS <RETURN>": GET K$: IF K$ < > CHR$(13) THEN 48430
48405 PRINT : PRINT CHR$(4)"PR#1"
48410 FOR CH = 0 TO CM: PRINT M$(CH): NEXT
48420 PRINT CHR$(4)"PR#0"
48430 RETURN
48999 REM <CTRL-J>CLEAR CATEGORY<CTRL-K><CTRL-J>
49000 VTAB 3: HTAB 11: PRINT SPC( 17);: RETURN
49999 DATA "","","","","","","","","","","",""
50000 DATA "FLEXIBLE AMORTIZATION","RUNFLEX-AMORT","HOME & BUSINESS"
50001 DATA "FAMILY BUDGET","RUN FAMILY BUDGET","HOME & BUSINESS"
50002 DATA "CHARGE","RUNCHARGE","EDUCATIONAL"
50003 DATA "LANGUAGE FLASH CARDS","RUNADD FLASH CARDS DOC","EDUCATIONAL"
50004 DATA "DUNGEON OF ARBEGLA","RUNDUNGEON OF ARBEGLA","EDUCATIONAL"
50005 DATA "KILLER BAT","RUNKILLER.BAT","GAME"
50006 DATA "BLACKJACK","RUNBLACKJACK","GAME"
50007 DATA "RAT MAZE","RUNRAT MAZE","GAME"
50008 DATA "NIM","RUNNIM","GAME"
50009 DATA "DISPLAY VARIABLES","RUNDISPLAY VARIABLES","UTILITY"
50010 DATA "HI-RES IMAGE MOVER","RUNHIRES IMAGE MOVER","UTILITY"
50011 DATA "AUTO PROGRAM","RUNAUTO PROGRAM","UTILITY"
63999 DATA END,END,END